﻿using CoreApi.Meta;
using System;

namespace CoreApi
{
    public interface IUserService
    {
        ReturnValue DeviceBrandList();
        ReturnValue DeviceModelList(string brandId, string deviceType);
        ReturnValue CheckRegisterMobile(string registerMobile);
        ReturnValue BindWechat(string registerMobile, string wechatUnionId);
        ReturnValue AccountList(string wechatUnionId);
        ReturnValue AccountAlarmList(string weichatUnionId);
        ReturnValue ServiceSheetList(string weichatUnionId);

        #region Senior Citizen
        ReturnValue SenionCitizenList(string wechatUnionId, string accountId);
        ReturnValue AddSeniorCitizen(string wechatUnionId,string accountId, string name, string gender, int birthdayYear, string contactMobile, string IdCard, int height, int weight, string nativePlace);
        ReturnValue UpdateSeniorCitizen(string wechatUnionId, string citizenId, string name, string gender, int birthdayYear, string contactMobile, string IdCard, int height, int weight, string nativePlace);
        ReturnValue RemoveSeniorCitizen(string wechatUnionId, string citizenId);
        #endregion

        #region FamilyMember
        ReturnValue FamilyMemberList(string wechatUnionId, string accountId);
        ReturnValue AddFamilyMember(string wechatUnionId,string accountId, string realName, string regMobile,string otherPhone,string province,string city,string district, string address, string postcode, string canManagement="False", string liveTogether="False");
        ReturnValue RemoveFamilyMember(string wechatUnionId, string memberId);
        ReturnValue UpdateFamilyMember(string wechatUnionId, string memberId, string realName, string otherPhone, string province, string city, string district, string address, string postcode, string canManagement = "False",string liveTogether="False");
        ReturnValue ChangeFamilyMemberRegisterMobile(string wechatUnionId, string memberId, string regMobile);

        #endregion

        #region Device
        ReturnValue DeviceList(string wechatUnionId,string accountId);
        ReturnValue AddDevice(string wechatUnionId, string accountId, string brandId, string deviceType, string model, string deviceSN,string simSN);
        ReturnValue BindDeviceData(string wechatUnionId, string deviceId, string dataNumber, string accountId, string citizenId="");
        ReturnValue GetDeviceData(string wechatUnionId, string deviceId);
        ReturnValue RemoveDevice(string wechatUnionId, string deviceId);
        #endregion

        #region Situation
        ReturnValue BloodPressureSituation(string wechatUnionId, string citizenId, string timeRange);
        ReturnValue GlycemicSituation(string wechatUnionId, string citizenId, string timeRange);
        ReturnValue SmokeAlarmSituation(string wechatUnionId, string accountId, string timeRange);
        #endregion


    }
}
